package com.tansun.easycare.rule.decisiontree.entity;

import org.hibernate.validator.constraints.Length;

import com.tansun.easycare.rule.common.entity.RuleBaseEntity;

/**
 * 决策键与动作所用变量信息Entity
 *
 * @author lixs
 * @version 2017-03-08
 */
public class RuleTreeParam extends RuleBaseEntity<RuleTreeParam> {

    private static final long serialVersionUID = 1L;
    private String version;        // 版本号
    private String projectCode;        // 规则库编码
    private String manageId;        // 规则管理ID
    private String className;        // 数据集英文名
    private String namecn;        // 变量中文名
    private String nameen;        // 变量英文名
    private String dataType;        // 变量数据类型
    private String defaultValue;        // 变量默认值
    private String domain;        // 码值域
    private String position;        // 集合类型下标
    private String isDerives;        // 是否衍生变量
    private Integer floor;        // 决策键所属层
    private String collection;

    public RuleTreeParam() {
        super();
    }

    public RuleTreeParam(String id) {
        super(id);
    }

    @Length(min = 0, max = 10, message = "版本号长度必须介于 0 和 10 之间")
    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    @Length(min = 1, max = 50, message = "规则库编码长度必须介于 1 和 50 之间")
    public String getProjectCode() {
        return projectCode;
    }

    public void setProjectCode(String projectCode) {
        this.projectCode = projectCode;
    }


    @Length(min = 1, max = 50, message = "数据集英文名长度必须介于 1 和 50 之间")
    public String getClassName() {
        return className;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    @Length(min = 1, max = 50, message = "变量中文名长度必须介于 1 和 50 之间")
    public String getNamecn() {
        return namecn;
    }

    public void setNamecn(String namecn) {
        this.namecn = namecn;
    }

    @Length(min = 1, max = 50, message = "变量英文名长度必须介于 1 和 50 之间")
    public String getNameen() {
        return nameen;
    }

    public void setNameen(String nameen) {
        this.nameen = nameen;
    }

    @Length(min = 1, max = 50, message = "变量数据类型长度必须介于 1 和 50 之间")
    public String getDataType() {
        return dataType;
    }

    public void setDataType(String dataType) {
        this.dataType = dataType;
    }

    @Length(min = 1, max = 50, message = "变量默认值长度必须介于 1 和 50 之间")
    public String getDefaultValue() {
        return defaultValue;
    }

    public void setDefaultValue(String defaultValue) {
        this.defaultValue = defaultValue;
    }

    @Length(min = 1, max = 50, message = "码值域长度必须介于 1 和 50 之间")
    public String getDomain() {
        return domain;
    }

    public void setDomain(String domain) {
        this.domain = domain;
    }

    @Length(min = 1, max = 11, message = "集合类型下标长度必须介于 1 和 11 之间")
    public String getPosition() {
        return position;
    }

    public void setPosition(String position) {
        this.position = position;
    }

    @Length(min = 1, max = 10, message = "是否衍生变量长度必须介于 1 和 10 之间")
    public String getIsDerives() {
        return isDerives;
    }

    public void setIsDerives(String isDerives) {
        this.isDerives = isDerives;
    }

    @Length(min = 0, max = 11, message = "决策键所属层长度必须介于 0 和 11 之间")
    public Integer getFloor() {
        return floor;
    }

    public void setFloor(Integer floor) {
        this.floor = floor;
    }

    public String getManageId() {
        return manageId;
    }

    public void setManageId(String manageId) {
        this.manageId = manageId;
    }

    public String getCollection() {
        return collection;
    }

    public void setCollection(String collection) {
        this.collection = collection;
    }


}